import Vue from "vue";
import App from "./App.vue";
import router from "./router/index.js";

Vue.config.productionTip = false;

// 微前端的框架里去引用 render 函数，我们在 window.vue2 上也能获取到
let instance = null;
const render = () => {
  instance = new Vue({
    router,
    render: (h) => h(App),
  }).$mount("#app-vue");
};

// 如果当前不是在微前端的环境
if (!window.__MICRO_WEB__) {
  render();
}

// 开始加载结构，那么如果有一些我们需要特殊处理的情况，比如说我们在加载之前我们需要做一些参数的处理那么这个呢我们就可以在这个生命周期里去做
export const bootstrap = () => {
  console.log("vue2-开始加载");
};

export const mount = () => {
  window.custom.on('test2', (data) => {
    console.log('test2', data);
  });
  window.custom.emit('test1', {
    a: 1
  });
  render();
  console.log("vue2-渲染成功");
};

export const unmount = () => {
  console.log("vue2-卸载", instance);
};
